The ITU-H.264 Standard (H.264), also known as MPEG-4, Part 10, and Advanced Video Coding (AVC), may encode a video stream on a frame-by-frame basis, and may encode video frames on a macroblock-by-macroblock basis. The MPEG-4 standard may specify the use of spatial prediction, temporal prediction, discrete cosine transformation (DCT), interlaced coding and/or lossless entropy coding, for example, to compress macroblocks within a video stream.
The MPEG4 video compression standard may be utilized to encode video information on a macroblock-by-macroblock basis. During encoding of video information utilizing the MPEG-4 standard, for example, prediction error information may be encoded together with prediction mode information, as well as with other side information necessary for the decoding process. In order to encode the prediction error information, a discrete cosine transformation may be applied to transform the prediction error information into frequency domain coefficients prior to encoding. During the encoding and the transformation processes within a video encoder, certain information relating to the prediction error, for example, may be lost.
As a result of the lost or missing information, the quality of the decoded video signal may be decreased. After quantized frequency coefficients are transformed back to prediction error information and a macroblock is reconstructed, certain artifacts may appear in the decoded video stream. More specifically, transform blockiness may appear in the decoded video in the form of square grid artifacts, for example. Artifacts other than blockiness may also appear in the decoded video stream due to missing video information. Transform blockiness may be associated with missing pixel information along one or more horizontal and/or vertical borders, or edges, between neighboring macroblocks.
In video systems utilizing blocks of video information, a video deblocker may be utilized to smooth the visual transition between adjacent video blocks. However, conventional methods of deblocking a decoded video stream utilized, for example, in an MPEG4 environment with macroblock adaptive frame/field (MBAFF) coding, are time-consuming and inefficient. Conventional methods of deblocking typically process a macroblock within a decoded video stream on a pixel-by-pixel basis. In this manner, a single pixel is processed during one operational cycle, or one processor clock cycle, which is time-consuming and reduces the efficiency during video processing.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of ordinary skill in the art through comparison of such systems with the present invention as set forth in the remainder of the present application with reference to the drawings.